TP : analyse d'images¶

Table of contents

  • Seuillage d'image
    • Exercice 6
    • Exercice 7

Seuillage d'image¶

Dans cette partie du TP, les fonctions OpenCV utilisées/utilisables sont les suivantes :

cv2.threshold(src, thresh, maxval, type[, dst]) -> retval, dst
cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]]) -> hist
cv2.calcBackProject() -> 

Exercice 6¶

Ecrire un programme permettant de binariser une image en niveaux de gris en utilisant la fonction cv2.threshold.

Le seuil de binarisation devra être paramétrable grace à un slider.

Tester les différentes valeurs possibles du paramètre type de cette fonction.

Exercice 7¶

Dans l'exercice précédent, la binarisation de l'image se fait à pratir d'une unique valeur de luminance.

Une autre méthode de binarisation permettant plus facilement de dissocier un objet de son environnement consiste à analyser la répartition des couleurs d'un élément (le fond ou l'objet) et de rechercher dans l'image les zones ayant à peu près la même répartition de couleur. C'est le principe général du ChromaKeying utilisé lors de captations de vidéos sur fond vert comme au cinéma.

Pour cela, il suffit de :

  • sélectionner une zone de l'élément à discerner (par exemple avec la souris)
  • de calculer l'histogramme des composantes purement couleur de l'image mais uniquement sur la zone sélectionnée
  • d'utiliser la fonction cv2.calcBackProject qui permet de calculer, pour chaque pixel, la distance entre l'histogramme de son voisinnage et un histogramme de référence.